/*上传文件 js*/

/**
 * plupload 调起上传方法
 * @param string name       layer名称
 * @param string textareaid 最后数据返回插入的容器id
 * @param string funcName   回调函数
 * @param string args       参数
 */
function flashupload(name, textareaid, funcName, args) {
    layer.open({
        title: name,
        type: 2,
        area: ['750px', '450px'],
        fixed: false, //不固定
        maxmin: true,
        shade: 0.6,
        content: "/panel/uploads/ajaxPlupload?args="+args,
        btn: ['保存', '关闭'],
        yes: function (index, layero) {
            if (funcName) {
                //funcName.apply(index, [index, textareaid]);
                funcName(index, textareaid);
            }
        },
        btn2: function (index, layero) {
            layer.close(index);
        }
    });
}

/**
 * 上传一张图回调方法
 * @param index     父窗口id
 * @param returnid  写入容器id值
 */
function thumb_images(index, returnid)
{
    // 取得iframe对象
    var body = layer.getChildFrame('body', index);
    // 取得选择的图片
    var in_content = body.find("#att-status").html().substring(1);
    var img_name   = body.find("#att-name").html().substring(5);
    if (in_content == '') {
        layer.msg('请上传图片');
        return false;
    }
    if (!IsImg(in_content)) {
        layer.msg('选择的文件类型必须为图片类型！');
        return false;
    }
    if ($('#' + returnid + '_preview').attr('src')) {
        $('#' + returnid + '_preview').attr('src', in_content);
        $('#' + returnid + '_preview').attr('alt', img_name);
    }
    $('#' + returnid + '_preview').val(in_content);
    $('#' + returnid).val(in_content);
    
    layer.close(index);
}

/**
 * 多图上传回调方法
 * @param index     父窗口id
 * @param returnid  写入容器id值
 */
function change_images(index, returnid) {
    // 取得iframe对象
    var body = layer.getChildFrame('body', index);
    // 取得图片信息
    var in_content  = body.find("#att-status").html().substring(1);
    var in_filename = body.find("#att-name").html().substring(5);
    
    var str = $('#' + returnid).html();
    
    var contents  = in_content.split('|');
    var filenames = in_filename.split('|#-#|');
    $('#' + returnid + '_tips').css('display', 'none');
    if (contents == '') return true;
    $.each(contents, function(i, n) {
        var ids = parseInt(Math.random() * 10000 + 10 * i);
        var filename = filenames[i].substr(0, filenames[i].indexOf('.'));
        
        str += '<ul class="ace-thumbnails show_file">';
        str += '<li class="li_' + ids + '" onclick="image_click(this)">';
        str += '<div class="upload_img_div"><a href="' + n + '" title="' + filename + '" class="cboxElement">';
        str += '<input type="hidden" name="' + returnid + '[]" value="' + n + '" />';
        str += '<img src="' + n + '" alt="' + filename + '" class="img-responsive" /></a></div>';
        str += '<div class="tools tools-top">';
        str += '<a href="javascript:;" onclick="remove_image(\'li_' + ids + '\');"><i class="fa fa-remove red"></i></a>';
        str += '</div></li></ul>';
    });

    $('#' + returnid).html(str);
    
    layer.close(index);
}

/**
 * Markdown 上传一张图回调方法
 * @param index     父窗口id
 * @param returnid  写入容器id值
 */
function one_images_md(index, returnid)
{
    // 取得iframe对象
    var body = layer.getChildFrame('body', index);
    // 取得选择的图片
    var in_content = body.find("#att-status").html().substring(1);
    var img_name   = body.find("#att-name").html().substring(5);
    if (in_content == '') {
        layer.msg('请上传图片');
        return false;
    }
    if (!IsImg(in_content)) {
        layer.msg('选择的文件类型必须为图片类型！');
        return false;
    }
    
    var cm     = myEditormd;        // myEditormd是用editormd函数创建的编辑器对象，这里假设myEditor是全局变量
    var cursor = cm.getCursor();    // 获取光标位置
    var alt    = img_name;
    
    // 以下是对图片上传结果的处理，引用原image-upload插件的代码
    var altAttr = (alt !== "") ? " \"" + alt + "\"" : "";
    /*if (in_content === "" || in_content === "http://") {
        cm.replaceSelection("![" + alt + "](" + in_content + altAttr + ")");
    } else {
        cm.replaceSelection("[![" + alt + "](" + in_content + altAttr + ")](" + in_content + altAttr + ")");
    }*/
    cm.replaceSelection("![" + alt + "](" + in_content + altAttr + ")");
    if (alt === "") {
        cm.setCursor(cursor.line, cursor.ch + 2);
    }
    
    layer.close(index);
}

/**
 * 验证地址是否为图片
 * @param url   图片URL地址
 */
function IsImg(url) {
    var sTemp;
    var b = false;
    var opt = "jpg|gif|png|bmp|jpeg";
    var s = opt.toUpperCase().split("|");
    for (var i = 0; i < s.length; i++) {
        sTemp = url.substr(url.length - s[i].length - 1);
        sTemp = sTemp.toUpperCase();
        s[i] = "." + s[i];
        if (s[i] == sTemp) {
            b = true;
            break;
        }
    }
    return b;
}
